As the complexity and pervasiveness of computer systems and their software has grown, so too has the need for their technical support. Troubleshooting of computer system and software problems generally requires the remote execution of computer programs or instructions on a customer's computer to diagnose or locate the source of the problem. For example, the instructions might be used to locate and correct the source of corruption in a database. While the use of computer programs to diagnose system and software problems is common place, there are many obstacles to efficient implementation of these diagnostic programs. For example, the diagnostic program must be transferred to the remote computer and sometimes may need to be customized thereat in order to address the specific problems at the remote computer. In addition, operation of the diagnostic program and interpretation of any output therefrom may require a level of skill in the art greater than at the customer's disposal. Still further, security concerns and the protection of trade secret information may necessitate deletion of the diagnostic program after it is no longer needed.
Often times, the above-described considerations necessitate a customer support representative or developer traveling to the remote location of the computer system or software problem to load and execute the diagnostic computer program. This procedure, however, is often expensive, inefficient and time consuming. As such, there is a continuing need for apparatuses and processes for providing efficient and cost effective remote diagnosis and repair of computer system and software problems. Still further, there is a continuing need to provide processes and apparatuses for the intelligent monitoring and product support of a computer system, wherein a computer application would be automatically monitored and upgraded as needed.